Skip to content
This repository has been archived by the owner on Nov 8, 2024. It is now read-only.

Adds wgbooster.dll exported interface #1

Open
wants to merge 89 commits into
base: main
Choose a base branch
from

Conversation

wiresock
Copy link

Hi! Thank you for your interest in Wiresock. I wanted to suggest that your application may be more efficient if you call the wgbooster.dll directly instead of starting the wiresock-vpn-client application. This would allow you to integrate the VPN functionality more closely with your application, potentially improving performance and giving you more control over the VPN connection.

I have not had a chance to test the C# file that is proposed in this PR, but if you encounter any issues, I would be happy to help you resolve them.

wiresock and others added 30 commits February 15, 2023 11:33
… on the wiresock-vpn-client executable. Added support for the transparent mode.
The settings dialog screenshot has been updated to reflect the latest changes, which now includes optional debug logging and virtual adapter mode.
Merge pull request #1 from robvanoostenrijk/WireSockUI
- Fixed loglevel not applying on initial start
- Fixed log display color alternation displaying as black
- Cleaned up log callback from WireSockManager
- Added Auto Update functionality, checking against GitHub release for the repository for new versions
- Tag build source repository as assembly attribute
Due to User Account Control (UAC) limitations preventing applications from auto-starting with administrative privileges via the Registry, we have switched to using the Windows Task Scheduler for autorun functionality. This workaround ensures that the application can start automatically at user logon with the necessary elevated privileges, bypassing UAC restrictions that were hindering the previous registry-based method.

- Implemented Task Scheduler integration using Microsoft.Win32.TaskScheduler.
- Added methods EnableAutoRun and DisableAutoRun to manage Task Scheduler tasks.
- Updated IsAutoRunEnabled to check for the existence of a scheduled task.
- Removed registry-based autorun code to avoid conflicts and redundancy.
- Adjusted FrmSettings to use the new Task Scheduler-based approach.

This change enhances compatibility and reliability across different system configurations and user settings.
Modified the EnableAutoRun function in the Task Scheduler implementation to ensure the task remains active on laptops, even when running on battery power and when the computer ceases to be idle. This change addresses the need for consistent task execution in various power and usage scenarios.

- Set DisallowStartIfOnBatteries to false
- Set StopIfGoingOnBatteries to false
- Set WakeToRun to true
- Set StopOnIdleEnd to false
… (Ref: #36)

This commit introduces a significant enhancement and a fix, as discussed in #36. The main changes are:

1. **Auto-Generation of Private Keys**: Implemented functionality in `ApplySyntaxHighlighting` to automatically generate a new private key when the 'privatekey' field is found empty. This ensures that users are provided with a valid private key without manual intervention, enhancing the usability for configuring tunnels.

2. **Syntax Highlighting Fix**: Modified the `ApplySyntaxHighlighting` method to return a boolean indicating whether the text content was altered (specifically when a new private key is generated and inserted). If the text is changed, `ApplySyntaxHighlighting` is re-invoked to ensure that the syntax highlighting is correctly applied to the newly inserted key. This fix addresses the issue where syntax highlighting was not correctly applied after the insertion of a new private key.

Together, these changes improve the functionality and user experience of WireSockUI by automating key generation and ensuring consistent syntax highlighting.
…on Config Files

This commit introduces a user-centric feature enabling dynamic naming of the WireSock VPN interface based on the associated configuration file. This enhancement, particularly beneficial for those managing multiple configurations in WireSock's virtual adapter mode, provides a more intuitive and efficient way to identify and interact with various network interfaces. This change is in direct response to the discussion in [WireSockUI Issue #17](#17), reflecting our commitment to community feedback and continuous improvement.
wiresock and others added 22 commits December 23, 2023 11:46
1. Added an option to disable notifications in response to user feedback. Details in issue #41 (#41).

2. Introduced functionality to run WireSockUI as a non-Admin user. Implemented a corresponding auto-start option and added a setting to avoid automatic admin privilege elevation.

3. Resolved issue #43, addressing a specific bug. For more information, see (#43).

4. Performed general code cleanup for improved maintainability and performance.

5. Updated the application icon to enhance user interface aesthetics.

These updates are aimed at enhancing user experience, application performance, and visual appeal.
- Updated WireSockUI for plain IPv4 address support in line with default WireGuard configurations.

Refer to [GitHub Issue #47](#47) for details.
- Corrected WireSockUI's double launch issue during Windows startup.
- Alleviated autostart conflicts between Task Scheduler and startup shortcut.
- WireSockUI might still initiate two launches if autostart is first enabled in Admin mode, then in non-Admin mode, due to insufficient privilege levels in the latter.

For more information, see [Issue #46 in WireSockUI](#46).
Add new keywords (PreUp, PostUp, PreDown, PostDown, ScriptExecTimeout) to support script execution options available in WireSock VPN Client v1.4
Switch to a custom WireGuard configuration parser
- Add checkbox to filter processes by current user
- Auto-focus search box when keys are typed
- Use partial name matches when filtering
- Add tool strip dropdown buttons to automatically insert various AllowedApps and DisallowedApps entries in the configuration file
- Don't show a separate window in the task bar
Tunnel configuration editor improvements
Migrate to a modern .NET SDK-style csproj
Modify update prompt to proceed only if user clicks "OK"

This change ensures that the update process will only proceed if the user explicitly clicks "OK" in the message box. If the user clicks "Cancel" or exits the message box in any other way, they will not be redirected to the update.
Updated CheckVersion()
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants